The invention relates generally to packet communications and, more particularly, to manipulation of header fields for improved performance in packet communications.
Due to the tremendous success of the Internet, it has become a desirable but challenging task to make use of the Internet Protocol, or IP (See Jon Postel, Internet Protocol, DARPA RFC 791, September 1981, incorporated herein by reference; and Steven Deering and Robert Hinden, Internet Protocol, Version 6 (IPv6) Specification, IETF RFC 2460, IETF IP Next Generation Working Group, December 1998, incorporated herein by reference), over many different types of packet communication links. Internet Protocol is normally used together with a transport protocol such as Transport Control Protocol, or TCP (See Jon Postel, Transmission Control Protocol, DARPA RFC 761, January 1980, incorporated herein by reference), User Datagram Protocol, or UDP (See Jon Postel, User Datagram Protocol, DARPA RFC 768, August 1980, incorporated herein by reference), or the application level protocol referred to as Real-Time Transport Protocol, or RTP (See Henning Schulzrinne, Stephen L. Casner, Ron Frederick and Van Jacobson, RTP: A Transport Protocol for Real-Time Applications, IETF RFC 1889, IETF Audio/Video Transport Working Group, January 1996, incorporated herein by reference).
All of the aforementioned protocols utilize protocol headers that are inserted into each datagram (packet). A given protocol header includes various fields which all serve some important purpose, and whose information must therefore be correctly delivered to their ultimate destination.
In order to reduce the header overhead over narrow band point-to-point links, e.g., radio links, conventional header compression techniques are often used. Header compression schemes compress the amount of information transmitted in the protocol headers, thereby reducing the amount of bandwidth required when using narrow band links. The compressed headers are completely reconstructed by a header decompressor at the receiving end of the link, so the header compression/decompression process does not affect the integrity of the header fields.
It is also conventional to re-calculate and/or modify some header fields at each router. Such recalculation/modification is a purposefully designed-in part of the functionality of those header fields.
The present invention recognizes that some header fields are unnecessarily problematic for header compression/decompression operations. Some examples of such fields and why they are unnecessarily problematic are given below.
The Identification (ID) field of Internet Protocol Version 4 (IPv4) is conventionally used to identify different parts of packets that have been split into various fragments. However, the IPv4 specification only requires that the sending host must give the ID field a value that is xe2x80x9cunique for that source-destination pair and protocol for the time the datagram will be active in the internet systemxe2x80x9d. This requirement can be complied with in various well-known ways, but the present invention recognizes that, for header compression purposes, it is preferred to assign the ID field values of the headers of a given packet stream in sequentially increasing fashion (referred to hereinafter as xe2x80x9cstream-sequentialxe2x80x9d assignment). Other well-known assignment schemes include assigning the ID field values randomly, or assigning sequentially increasing values to the ID field, but using a common counter for all outgoing packet streams from any given host (referred to hereinafter as xe2x80x9chost-sequentialxe2x80x9d assignment). The invention recognizes that the random assignment and host-sequential assignment schemes are problematic for header compression operations.
Another IP header field that is problematic for header compression/decompression schemes is the time-to-live/hop-limit (TTL/HL) field. The value of this field is decreased by one for every hop in the path taken by a particular packet. If packets corresponding to the same packet stream alternate between different paths between source and destination, the TTL/HL field value will alternate between a typically small number of different values that do not differ much from one another. Conventionally, the TTL/HL field value must be communicated from the header compressor across the link to the header decompressor each time the TTL/HL field value changes. This disadvantageously limits the desired performance of the header compression scheme, and correspondingly increases the required bandwidth.
The present invention recognizes that it is desirable in view of the foregoing to provide for improved header compression performance with respect to header fields, for example those described above, that are problematic to the performance of header compression schemes.
The present invention provides for improved header compression performance with respect to problematic header fields by purposefully violating the integrity of such header fields in a manner that is transparent to the header compression scheme and that does not disturb the functionality of the header field. This purposeful violation of header field integrity can also be advantageously applied to packet communication paths that do not use header compression.